Crate strum_macros

source ·
Expand description

§Strum

Strum is a set of macros and traits for working with enums and strings easier in Rust.

This crate only contains derive macros for use with the strum crate. The macros provied by this crate are also available by enabling the derive feature in aforementioned strum crate.

Derive Macros§

  • Converts enum variants to &'a str, where 'a is the lifetime of the input enum reference.
  • Converts enum variants to strings.
  • Add a constant usize equal to the number of variants.
  • Generate a new type with only the discriminant names.
  • Generated is_*() methods for each variant. E.g. Color.is_red().
  • Creates a new type that iterates of the variants of an enum.
  • Add a verbose message to an enum variant.
  • Add custom properties to enum variants.
  • Converts strings to enum variants based on their name.
  • Generated try_as_*() methods for all tuple-style variants. E.g. Message.try_as_write().
  • Add a function to enum that allows accessing variants by its discriminant
  • Implements From<MyEnum> for &'static str on an enum.
  • Adds a 'static slice with all of the Enum’s variants.
  • Implements Strum::VariantNames which adds an associated constant VARIANTS which is a 'static slice of discriminant names.